using Microsoft.Xna.Framework;

namespace CthulhuDomain.StageManagement
{
  public class GameServiceManager : IGameServiceProvider
  {
    public GameServiceManager(IGame game, IContentManager contentManager, ISpriteBatch spriteBatch, IRectangle context)
    {
      Game = game;
      ContentManager = contentManager;
      SpriteBatch = spriteBatch;
      Context = context;
    }

    public IGame Game { get; set; }
    public IContentManager ContentManager { get; set; }
    public ISpriteBatch SpriteBatch { get; set; }
    public IRectangle Context { get; set; }
  }

  public interface IGameServiceProvider
  {
    IGame Game { get; set; }
    IContentManager ContentManager { get; set; }
    ISpriteBatch SpriteBatch { get; set; }
    IRectangle Context { get; set; }
  }

  public interface IGame
  {
    void Exit();
  }

  public class GameAdapter:IGame
  {
    Game Adaptee { get; set; }

    public GameAdapter(Game game)
    {
      Adaptee = game;
    }

    public void Exit()
    {
      Adaptee.Exit();
    }
  }


}